package com.likersai.opon.service;

import com.likersai.opon.pojo.entity.Menu;
import com.likersai.opon.pojo.bo.MenuTreeModel;
import com.likersai.opon.pojo.bo.PageBO;
import com.likersai.opon.pojo.vo.req.menu.AddMenuReq;
import com.likersai.opon.pojo.vo.req.menu.ModMenuReq;
import com.likersai.opon.service.param.menu.MenuQuery;

import java.util.List;

/**
 * 菜单服务类
 *
 * @author sun.ye
 * @since 2021-03-14 00:22
 */
public interface MenuService {

    /**
     * 查询菜单树
     * @param param 入参
     * @return 菜单树
     */
    List<MenuTreeModel> queryMenuTree(MenuQuery param);

    /**
     * 查询菜单清单
     * @param param 入参
     * @return 菜单清单
     */
    List<Menu> queryMenu(MenuQuery param);

    /**
     * 查询菜单分页数据
     * @param param 入参
     * @return 分页数据
     */
    PageBO<Menu> queryMenuPage(MenuQuery param);
    
    
    /**
     * 新增菜单
     * @param req 新增参数
     * @return 新增实例
     */
    Menu addMenu (AddMenuReq req);
    
    /**
     * 修改菜单
     * @param req 修改参数
     * @return 影响条数
     */
    Integer modMenu(ModMenuReq req);

}
